With the ubiquity of the Internet, the use of server computer systems has proliferated. Server computer systems often provide essential services across a network, either to private users inside a large organization or to public users via the internet. Many servers have dedicated functionality such as web servers, print servers, and database servers. Some businesses maintain hundreds or even thousands of server computer systems in “server farms” or “service processor complexes” that are critical to operations of their business functions.
Enterprise servers are ideally very fault tolerant, for even a short-term failure can cost more than purchasing and installing the system. For example, it may take only a few minutes of down time at a national stock exchange to justify the expense of entirely replacing a failing system with a more reliable system. To increase reliability, most of the servers use memory with error detection and correction, redundant disks, redundant power supplies and so on. Such components are also frequently hot swappable, allowing an administrator to replace them on the running server without shutting the server down. As servers are usually administered by a qualified engineer, server operating systems are also more tuned for stability and performance than for user friendliness and ease of use, with the Linux operating system taking a noticeably larger percentage than for desktop computers. Updates to the server operating system, Basic Input/Output System (BIOS) firmware, and other system firmware must be performed in a secure manner and as quickly as possible.